Suspend all active VM's during shutdown
I have some VM’s running on my Ubuntu Linux servers that do various tasks. I have some of them start on system startup, and I have some that I use on demand. Sometimes I forget to suspend a VM when shutting down or rebooting a server, or if a power outage occurs and the server goes to shut it self down, then the VM’s are terminated and not properly shutdown.
This script will properly suspend any running VM’s on the server.
Add it to your /etc/init.d directory
Be sure it is owned by root, and has execute privileges
Then install it with:
sudo update-rc.d vmwaresuspend defaults
Now every time your system shuts down, your VM’s will be properly suspended to disk!
------------
#!/bin/bash
#
# Suspend all running VM's for user when shutting down system
#
# dwentz 2010-10-31 New
### BEGIN INIT INFO
# Provides: vmwaresuspend
# Required-Start:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Required-Stop: 0 1 6
### END INIT INFO
# The Username to run as
export USER="dwentz" #<– my local user
export PATHTOVMS="/home/dwentz/Documents/VM"
export OPTIONS="-T player suspend"
. /lib/lsb/init-functions
case "$1" in
start)
#Nothing to be done for start.
exit 0
;;
stop)
vmrun -T player list|grep vmx$|while read VM
do
su ${USER} -c "/usr/bin/vmrun -T player suspend '$VM'"
log_action_begin_msg "Suspending vm ${VM} "
done
;;
restart)
# Nothing to be done for restart
exit 0
;;
esac
exit 0
------------
This script will properly suspend any running VM’s on the server.
Add it to your /etc/init.d directory
Be sure it is owned by root, and has execute privileges
Then install it with:
sudo update-rc.d vmwaresuspend defaults
Now every time your system shuts down, your VM’s will be properly suspended to disk!
------------
#!/bin/bash
#
# Suspend all running VM's for user when shutting down system
#
# dwentz 2010-10-31 New
### BEGIN INIT INFO
# Provides: vmwaresuspend
# Required-Start:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Required-Stop: 0 1 6
### END INIT INFO
# The Username to run as
export USER="dwentz" #<– my local user
export PATHTOVMS="/home/dwentz/Documents/VM"
export OPTIONS="-T player suspend"
. /lib/lsb/init-functions
case "$1" in
start)
#Nothing to be done for start.
exit 0
;;
stop)
vmrun -T player list|grep vmx$|while read VM
do
su ${USER} -c "/usr/bin/vmrun -T player suspend '$VM'"
log_action_begin_msg "Suspending vm ${VM} "
done
;;
restart)
# Nothing to be done for restart
exit 0
;;
esac
exit 0
------------
blog comments powered by Disqus